#ifndef RULE_HH_
# define RULE_HH_

#include <math/vector.hh>

# include "../physic/object.hh"
# include "../physic/box.hh"
# include <string>

# include "../game/unit.hh"
# include "../game/building.hh"

class Rule
{
public:
  Rule (const std::string name,
	const std::string id);

  Object* make (Vector3f pos, Vector3f size, int player_id, std::string obj_type, int obj_type_id);

  const std::string name_get ()
  {
    return name_;
  }

  bool is_building () const { return is_building_; }
  Building* building () const { return b_; }
  Unit* unit () const { return u_; }

protected:
  const std::string name_;
  const std::string id_;

  Building* b_;
  bool is_building_;
  Unit* u_;
};

#endif /// !RULE_HH_
